package com.jichangxiu.generator.constant;

public class GeneratorConstants {

    /**
     * 项目空间路径
     */
    public static final String PROJECT_PATH = "main/java";

    /**
     * mybatis空间路径
     */
    public static final String MYBATIS_PATH = "main/resources/mapper";

    /**
     * 默认上级菜单，系统工具
     */
    public static final String DEFAULT_PARENT_MENU_ID = "6194da1f7cc9528eea81933eb4ed6198";

    /**
     * 单表（增删改查）
     */
    public static final String TPL_CRUD = "CRUD";

    /**
     * 树表（增删改查）
     */
    public static final String TPL_TREE = "TREE";

    /**
     * 主子表（增删改查）
     */
    public static final String TPL_SUB = "SUB";

    /**
     * 树编码字段
     */
    public static final String TREE_ID = "id";

    /**
     * 树父编码字段
     */
    public static final String TREE_PARENT_ID = "parentId";

    /**
     * 树名称字段
     */
    public static final String TREE_NAME = "name";

    /**
     * 上级菜单ID字段
     */
    public static final String PARENT_MENU_ID = "parentMenuId";

    /**
     * 上级菜单名称字段
     */
    public static final String PARENT_MENU_NAME = "parentMenuName";

    /**
     * 数据库字符串类型
     */
    public static final String[] COLUMN_TYPE_STR = {"char", "varchar", "nvarchar", "varchar2"};

    /**
     * 数据库文本类型
     */
    public static final String[] COLUMN_TYPE_TEXT = {"tinytext", "text", "mediumtext", "longtext"};

    /**
     * 数据库时间类型
     */
    public static final String[] COLUMN_TYPE_TIME = {"datetime", "time", "date", "timestamp"};

    /**
     * 数据库数字类型
     */
    public static final String[] COLUMN_TYPE_NUMBER = {"tinyint", "smallint", "mediumint", "int", "number", "integer",
            "bit", "bigint", "float", "double", "decimal"};

    /**
     * 页面不需要插入字段
     */
    public static final String[] COLUMN_NAME_NOT_INSERT = {"create_by", "create_time", "update_by", "update_time", "tenant_id", "deleted"};

    /**
     * 页面不需要编辑字段
     */
    public static final String[] COLUMN_NAME_NOT_EDIT = {"create_by", "create_time", "update_by", "update_time", "tenant_id", "deleted"};

    /**
     * 页面不需要显示的列表字段
     */
    public static final String[] COLUMN_NAME_NOT_LIST = {"create_by", "create_time", "update_by", "update_time", "tenant_id", "deleted"};

    /**
     * 页面不需要查询字段
     */
    public static final String[] COLUMN_NAME_NOT_QUERY = {"create_by", "create_time", "update_by", "update_time", "tenant_id", "deleted"};

    /**
     * Entity 基类字段
     */
    public static final String[] BASE_ENTITY = {"createBy", "createTime", "updateBy", "updateTime"};

    /**
     * 不需要生成表字段
     */
    public static final String[] COLUMN_NO_NEED = {"deleted", "tenantId"};

    /**
     * 删除字段
     */
    public static final String DELETED_COLUMN = "deleted";

    /**
     * Tree 基类字段
     */
    public static final String[] TREE_ENTITY = {};

    /**
     * 特殊字符
     */
    public static final String[] SPECIAL_CHARACTERS = {"precision", "key", "describe", "group"};

    /**
     * 文本框
     */
    public static final String HTML_INPUT = "input";

    /**
     * 文本域
     */
    public static final String HTML_TEXTAREA = "textarea";

    /**
     * 下拉框
     */
    public static final String HTML_SELECT = "select";

    /**
     * 单选框
     */
    public static final String HTML_RADIO = "radio";

    /**
     * 复选框
     */
    public static final String HTML_CHECKBOX = "checkbox";

    /**
     * 日期控件
     */
    public static final String HTML_DATETIME = "datetime";

    /**
     * 开关
     */
    public static final String HTML_SWITCH = "switch";

    /**
     * 图片上传控件
     */
    public static final String HTML_IMAGE_UPLOAD = "imageUpload";

    /**
     * 文件上传控件
     */
    public static final String HTML_FILE_UPLOAD = "fileUpload";

    /**
     * 富文本控件
     */
    public static final String HTML_EDITOR = "editor";

    /**
     * 字符串类型
     */
    public static final String TYPE_STRING = "String";

    /**
     * 整型
     */
    public static final String TYPE_INTEGER = "Integer";

    /**
     * 长整型
     */
    public static final String TYPE_LONG = "Long";

    /**
     * 浮点型
     */
    public static final String TYPE_DOUBLE = "Double";

    /**
     * 高精度计算类型
     */
    public static final String TYPE_BIG_DECIMAL = "BigDecimal";

    /**
     * 时间类型
     */
    public static final String TYPE_DATE = "Date";

    /**
     * 模糊查询
     */
    public static final String QUERY_LIKE = "LIKE";

    /**
     * 相等查询
     */
    public static final String QUERY_EQ = "EQ";

    /**
     * 需要
     */
    public static final Boolean REQUIRE = true;

}
